package logicsv.framework_logicsv;

import java.rmi.RemoteException;
import java.util.List;

import po.CourseModelPO;
import po.ModelPO;
import po.SubModelPO;
import resultmessage.FrameworkRM;
import vo.ModelVO;

public interface FrameworkLogicsv {
	public FrameworkRM addModel(String collegeID,ModelPO m);
//	public ModelVO getModel(String collegeID, String modelID);
	public FrameworkRM deleteModel(String collegeID, String modelID);
	public FrameworkRM updateModel(String collegeID,ModelPO m);
	public FrameworkRM addSubModel(String collegeID,String modelID,SubModelPO sm);
//	public SubModelVO getSubModel(String collegeID, String modelID, String subModelID);
	public FrameworkRM deleteSubModel(String collegeID, String modelID, String subModelID);
	public FrameworkRM updateSubModel(String collegeID,String modelID,SubModelPO sm);

	public FrameworkRM deleteCouOfSubModel(String courseID,String subModelID)  ;
	public FrameworkRM addCouOfSubModel(String courseID,String subModelID)  ;
	public CourseModelPO getSubModelOfCou(String courseID)  ;
	public FrameworkRM updateSubModelOfCou (String courseID, String submodelID)  ;
	
	public boolean canChooseCurriculum()  ;
	public boolean canChooseCrossMajor()  ;
	public boolean canChoosePublic()  ;
	
	public boolean changeChooseCurriculum()  ;
	public boolean changeChooseCrossMajor()  ;
	public boolean changeChoosePublic()  ;
	
	public List<ModelVO> getAllModelOfCollege(String collegeID);
	
    public String addModelReturnID(String collegeID,ModelPO model);
	
	public String addSubModelReturnID(String collegeID,String modelID,SubModelPO submodel);
}

